package com.powergisol.gis.dao;

import com.powergisol.gis.entity.TabTree;
import com.powergisol.gis.vo.TreeSortDataVO;
import com.powergisol.gis.vo.TreeSortVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface TabTreeMapper {

    void saveTree(TabTree tabTree);

    void upTree(TabTree tabTree);

    TabTree getByCondition(TabTree tabTree);

    List<TabTree> listTabTree(@Param("pId") Integer pId);

    List<TabTree> listTabTreePre(@Param("pId") Integer pId,@Param("sort") Integer sort);

    List<TabTree> listTabTreeNext(@Param("pId") Integer pId,@Param("sort") Integer sort);

    List<TabTree> listTabTreeLimit(@Param("pId") Integer pId,@Param("startSort") Integer startSort,@Param("endSort") Integer endSort);

    void delTree(@Param("id") Integer id);

    void delTreeByLayerId(@Param("layerId") Integer layerId);

    Integer getBySceneId(@Param("sceneId") Integer sceneId);

    int upTreeNameByLayerId(TabTree tree);

    List<TabTree> getSceneById(@Param("treeId") Integer treeId);

    void deleteTreeById(List<Integer> treeIds);

    void updateSort(@Param("s") TreeSortVO s);

    void upTreeSort(@Param("id") Integer id);

    void saveBatch(List<TabTree> treeList);

    Integer selTree(@Param("id") Integer id,@Param("fileType") Integer fileType);

    TabTree getById(@Param("id") Integer id);

    Integer getMaxSort(@Param("pId") Integer pId);
}
